package com.sdry.basic.controller;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;

import com.sdry.basic.entity.ContainerStareRecord;
import com.sdry.untils.ResponseUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ui.Model;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import java.io.PrintWriter;
import java.util.Date;
import com.sdry.basic.entity.ContainerStare;
import com.sdry.basic.service.ContainerStareService;
import com.sdry.basic.mapper.ContainerStareMapper;
/**
 *
 *@ClassName: ContainerStareController
 *@Description: 容器装载信息
 *@Author tdd
 *@Date 2020-03-11 12:05:16
 *@version 1.0
*/
@Controller
@RequestMapping("/containerStare")
public class ContainerStareController{
	@Resource ContainerStareService containerStareService;
	//声明一个Logger
	private final static Logger logger = LoggerFactory.getLogger(ContainerStareController.class);
	/** 
	 * 进入容器装载页面
	 * @param model
	 * @return 页面路径
	*/
	@RequestMapping("/pageContainerStare")
	public String pageContainerStare (Model model) {
		return "/td/basis/containerStare";
	}
	/**
	 * 进入容器装载记录页面
	 * @param model
	 * @return 页面路径
	*/
	@RequestMapping("/pageContainerStareRecord")
	public String pageContainerStareRecord (Model model) {
		return "/td/basis/containerStareRecord";
	}
	/**
	 * 进入产品库存页面
	 * @param model
	 * @return 页面路径
	*/
	@RequestMapping("/pageGoodInventory")
	public String pageGoodInventory (Model model) {
		return "/td/basis/goodInventory";
	}
	/** 
	 * 根据条件分页查询
	 * @param param 实体条件
	 * @param response
	*/
	@RequestMapping("/list")
	public void list(ContainerStare param,HttpServletResponse response){
		logger.info("根据条件分页查询条件"+JSONArray.fromObject(param));
		/*
		 * 条件分页查询内容
		 */
		List<ContainerStare> list = containerStareService.findPageByMution(param);
		logger.info("根据条件分页查询条件返回内容"+JSONArray.fromObject(list));
		/*
		 * 条件查询总条数
		 */
		Integer total = containerStareService.selectCountByMution(param);
		logger.info("条件查询总条数返回条数"+total);
		/*
		 * 转为json数据传至页面
		 */
		//创建result
		JSONObject jsonObject = new JSONObject();
		//添加入jsonObject
		jsonObject.put("code", 0);
		jsonObject.put("rows", list);
		jsonObject.put("total", total);
		try {
			ResponseUtil.write(response, jsonObject);
		} catch (Exception e) {
			logger.info("根据条件分页查询返回数据失败");
			e.printStackTrace();
		}
	}

	/**
	 * 根据条件分页查询容器装载信息记录
	 * @param param 实体条件
	 * @param response
	*/
	@RequestMapping("/listContainerStareRecord")
	public void list(ContainerStareRecord param, HttpServletResponse response){
		logger.info("根据条件分页查询条件"+JSONArray.fromObject(param));
		/*
		 * 条件分页查询内容
		 */
		List<ContainerStareRecord> list = containerStareService.findContainerStareRecordPageByMution(param);
		logger.info("根据条件分页查询条件返回内容"+JSONArray.fromObject(list));
		/*
		 * 条件查询总条数
		 */
		Integer total = containerStareService.selectContainerStareRecordCountByMution(param);
		logger.info("条件查询总条数返回条数"+total);
		/*
		 * 转为json数据传至页面
		 */
		//创建result
		JSONObject jsonObject = new JSONObject();
		//添加入jsonObject
		jsonObject.put("code", 0);
		jsonObject.put("rows", list);
		jsonObject.put("total", total);
		try {
			ResponseUtil.write(response, jsonObject);
		} catch (Exception e) {
			logger.info("根据条件分页查询返回数据失败");
			e.printStackTrace();
		}
	}
	/**
	 * 根据条件分页查询所有（包括成品库）容器装载信息记录
	 * @param param 实体条件
	 * @param response
	*/
	@RequestMapping("/listAllContainerStareRecord")
	public void listAllContainerStareRecord(ContainerStareRecord param, HttpServletResponse response){
		logger.info("根据条件分页查询条件"+JSONArray.fromObject(param));
		/*
		 * 条件分页查询内容
		 */
		List<ContainerStareRecord> list = containerStareService.findAllContainerStareRecordPageByMution(param);
		logger.info("根据条件分页查询条件返回内容"+JSONArray.fromObject(list));
		/*
		 * 条件查询总条数
		 */
		Integer total = containerStareService.selectAllContainerStareRecordCountByMution(param);
		logger.info("条件查询总条数返回条数"+total);
		/*
		 * 转为json数据传至页面
		 */
		//创建result
		JSONObject jsonObject = new JSONObject();
		//添加入jsonObject
		jsonObject.put("code", 0);
		jsonObject.put("rows", list);
		jsonObject.put("total", total);
		try {
			ResponseUtil.write(response, jsonObject);
		} catch (Exception e) {
			logger.info("根据条件分页查询返回数据失败");
			e.printStackTrace();
		}
	}
	/**
	 * 根据条件分页查询容器装载总计
	 * @param param 实体条件
	 * @param response
	*/
	@RequestMapping("/stareList")
	public void stareList(ContainerStare param,HttpServletResponse response){
		logger.info("根据条件分页查询条件"+JSONArray.fromObject(param));
		/*
		 * 条件分页查询内容
		 */
		List<ContainerStare> list = containerStareService.findStareListPageByMution(param);
		logger.info("根据条件分页查询条件返回内容"+JSONArray.fromObject(list));
		/*
		 * 条件查询总条数
		 */
		Integer total = containerStareService.selectStareListCountByMution(param);
		logger.info("条件查询总条数返回条数"+total);
		/*
		 * 转为json数据传至页面
		 */
		//创建result
		JSONObject jsonObject = new JSONObject();
		//添加入jsonObject
		jsonObject.put("code", 0);
		jsonObject.put("rows", list);
		jsonObject.put("total", total);
		try {
			ResponseUtil.write(response, jsonObject);
		} catch (Exception e) {
			logger.info("根据条件分页查询返回数据失败");
			e.printStackTrace();
		}
	}


	/**
	 * 根据条件分页查询容器装载详情总计
	 * @param param 实体条件
	 * @param response
	 */
	@RequestMapping("/stareListDetail")
	public void stareListDetail(ContainerStare param,HttpServletResponse response){
		logger.info("根据条件分页查询条件"+JSONArray.fromObject(param));
		/*
		 * 条件分页查询内容
		 */
		List<ContainerStare> list = containerStareService.findStareListDetailPageByMution(param);
		logger.info("根据条件分页查询条件返回内容"+JSONArray.fromObject(list));
		/*
		 * 条件查询总条数
		 */
		Integer total = containerStareService.selectStareListDetailCountByMution(param);
		logger.info("条件查询总条数返回条数"+total);
		/*
		 * 转为json数据传至页面
		 */
		//创建result
		JSONObject jsonObject = new JSONObject();
		//添加入jsonObject
		jsonObject.put("code", 0);
		jsonObject.put("rows", list);
		jsonObject.put("total", total);
		try {
			ResponseUtil.write(response, jsonObject);
		} catch (Exception e) {
			logger.info("根据条件分页查询返回数据失败");
			e.printStackTrace();
		}
	}

	/**
	 * 根据条件分页查询成品链和成品库总库存
	 * @param param 实体条件
	 * @param response
	 */
	@RequestMapping("/goodList")
	public void goodList(ContainerStare param,HttpServletResponse response){
		logger.info("根据条件分页查询条件"+JSONArray.fromObject(param));
		/*
		 * 条件分页查询内容
		 */
		List<ContainerStare> list = containerStareService.findGoodPageByMution(param);
		logger.info("根据条件分页查询条件返回内容"+JSONArray.fromObject(list));
		/*
		 * 条件查询总条数
		 */
		Integer total = containerStareService.selectGoodCountByMution(param);
		logger.info("条件查询总条数返回条数"+total);
		/*
		 * 转为json数据传至页面
		 */
		//创建result
		JSONObject jsonObject = new JSONObject();
		//添加入jsonObject
		jsonObject.put("code", 0);
		jsonObject.put("rows", list);
		jsonObject.put("total", total);
		try {
			ResponseUtil.write(response, jsonObject);
		} catch (Exception e) {
			logger.info("根据条件分页查询返回数据失败");
			e.printStackTrace();
		}
	}
}
